import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class Demo3List {

    /**
     * 特点1，有序 有下标可以重复
     *
     * *///
    public static void main(String[] args) {

        List list=new ArrayList();
        list.add("苹果");
        list.add("香蕉");
        list.add("橘子");
        list.add("西瓜");
        System.out.println("元素个数"+list.size());

        System.out.println(list);


        //2、删除元素
        list.remove("苹果");


        //3.使用for遍历

        System.out.println("---------使用for遍历---------");
        for (int i = 0; i < list.size(); i++) {

            System.out.println(list.get(i));

        }

        Iterator iterator=list.iterator();

        System.out.println("---------使用加强for遍历---------");
        for (Object object :
                list) {
            System.out.println(object);
        }
        System.out.println("---------使用迭代器遍历---------");
        while (iterator.hasNext())
        {
            System.out.println(iterator.next());
        }

        //3.4使用列表迭代器，和Iterator区别 ListIterator 可以行前向后遍历，添加删除修改元素

        System.out.println("-----------3.4使用列表迭代器从前往后---------");

        ListIterator listIterator=list.listIterator();
        while (listIterator.hasNext())
        {
            System.out.println(listIterator.nextIndex()+":"+listIterator.next());
        }

        System.out.println("-----------3.4使用列表迭代器从后往前---------");
        while (listIterator.hasPrevious())
            System.out.println(listIterator.previousIndex()+":"+listIterator.previous());


        //判断
        System.out.println(list.contains("苹果"));
        System.out.println(list.isEmpty());

        //获取位置

        System.out.println(list.indexOf("香蕉"));
        System.out.println(list);
    }
}
